/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package managers;

import domain.Entity.EntityProyecto;
import domain.Entity.EntityTarea;
import domain.Entity.EntityTareaTrabajada;
import domain.Entity.EntityTrabajador;
import domain.Entity.EntityUsuario;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpSession;

/**
 *
 * @author Administrador
 */
public interface TareaManagerInterface {

    List<EntityTarea> TareasProyectoEtiqueta(long idProyecto, String etiqueta);

    List<EntityTarea> TareasTrabajadorEtiqueta(EntityTrabajador etr, String etiqueta);

    void addTarea(String nombreTarea, Date fecIni, Date fecFin, EntityProyecto proyecto, String etiqueta);

    void asignarTarea(EntityTarea et);

    void borrarTarea(long idTarea);

    void completar(EntityTarea et);

    void etiquetar(EntityTarea et, String etiquetas);

    EntityTarea getPorId(long idTarea);

    EntityTarea getPorNomyPro(String nombre, long idProyecto);

    void modificarTarea(EntityTarea et, String nombreTarea, Date fecIni, Date fecFin, boolean comp, String etiqueta);

    List<EntityTarea> mostrarTareasProyecto(Long idProyecto);

    List<EntityTarea> mostrarTareasTrabajador(long dni);

    List<EntityTrabajador> mostrarTrabajadoresTarea(long idTarea);

    List obtenerEtiquetas(EntityUsuario eu);

    void quitarTarea(EntityTarea et);

    List<EntityTareaTrabajada> trabajo(Date fechaIni, EntityTarea tarea, Date fechaFin);

    List<EntityTareaTrabajada> trabajoTrabajador(Date fechaIni, EntityTarea tarea, EntityTrabajador trabajador, Date fechaFin);
    
    List<EntityTarea> obtenerTareasGestor(List proyectos);

}
